package NGUYENDUCVIET;

public class DEMO_OBJECT {
//1.Biến toàn cục
	/*
	 * -Là biến khai báo bên ngoài các phương thức-thuộc tính
	 * -phạm vi bên trong lớp đối tượng này
	 * -Mặc định phạm vi là public
	 */
	
	private String Name;
	private int Level;
	private String Skills;
	private String VuKhi;
	
	public void ViDu01(){
		int MaNhanVat = 10;
		Name = "SonGoKu";
	}
	
	public void ViDu02(){
		//MaNhanVat=12; báo lỗi
		Name = "Vegita";
	}
	
//2.Hàm khởi tạo
	/*Đặc điểm của hàm khởi tạo?
	 *-Là hàm đk chạy đầu tiên nhất khi đối tượng được sinh ra 
	 * -Cùng tên với class(Lớp đối tượng)
	 * -Mặc định là public
	 * -Khi lớp không đinh nghĩa hàm khởi dựng 
	 * 		-->Khi tạo ra đối tượng hàm khởi dựng không tham số sẽ được tạo
	 * 		--->Nhưng nếu có hàm khởi dựng có tham số thì không thể tự tọa ra hàm khởi dựng không tham số được
	 * -Không có giá trị trả về.
	 * -Không thể gọi trực tiếp được mà chỉ gọi thông qua quá trình khởi tạo đối tượng
	 * -Có hai dạng hàm khởi dựng:
	 * 	+1.Có tham số
	 * 	+2.Không có tham số
	 */
	
	//1.Không tham số
	public DEMO_OBJECT(){
		//Sử dụng đẻ khởi tạo thông tin mặc định cho đối tượng
		Name="ABCD";
		Level=1;
		Skills="HLTBC";
		VuKhi="Gậy";
	}
	
	//2.Hàm khởi dựng có tham số
	DEMO_OBJECT(String Name,int Level,String Skills,String VuKhi){
		//Sử dựng để khởi tạo thông tin theo tham số truyền vào
		//Cú PHáp:
		//<Biến toàn cục> = <tham số>;
		
		this.Name = Name;
		this.Level = Level;// tên của biến toàn cục đang bằng tham số
		this.Skills = Skills;
		this.VuKhi = VuKhi;
	}
	
	//3.Thuộc tính của đối tượng
	/*Là phương thức biểu diễn thông tin cho các Datafield
	 * 	trong lớp đối tượng (Get Or Set)
	 * 
	 * 	+get:	Trả thông tin datafield  hiện thời về cho Views
	 * 	+set:	Thiết lập thông tin cho đối tượng thông qua datafield
	 * 
	 *
	 */
	
	

	//Get : Thuộc tính đọc
	public String getName(){
		return Name;
	}
	
	//Set : Thuộc tính ghi
	public void setName(String pName){
		Name = pName;
	}
	
	public int getLevel() {
		return Level;
	}

	public void setLevel(int level) {
		Level = level;
	}

	public String getSkills() {
		return Skills;
	}

	public void setSkills(String skills) {
		Skills = skills;
	}

	public String getVuKhi() {
		return VuKhi;
	}

	public void setVuKhi(String vuKhi) {
		VuKhi = vuKhi;
	}
	
	
	
	
	public static void main(String[] args) {
	

	}

//4.Hành vi của đối tượng
	public String Bay(int Tocdo){
		return "Bay với tốc độ:"+Tocdo;
	}
/*
 * 
 */
 
	

}
